Trade Action Confirmation Tool

ABSTRACT

Systems, methods, and apparatus for confirming trade actions are disclosed. An example method includes displaying a trade action cell corresponding with a trade action, receiving an initiation command, determining that the trade action was initiated based on the initiation command, receiving a confirmation command, wherein the confirmation command is a selection of the same trade action cell, and executing the trade action based on reception of the confirmation command.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 16/991,729, filed Aug. 12, 2020, which is a continuation ofU.S. patent application Ser. No. 16/668,932, filed Oct. 30, 2019, nowU.S. Pat. No. 10,776,873, which is a continuation of U.S. patentapplication Ser. No. 16/146,799, filed Sep. 28, 2018, now U.S. Pat. No.10,515,411, which is a continuation of U.S. patent application Ser. No.13/368,117, filed Feb. 7, 2012, now U.S. Pat. No. 10,121,195, thecontents of each of which are fully incorporated herein by reference forall purposes.

FIELD OF THE DISCLOSURE

The disclosure is related to electronic trading environments and, moreparticularly, to confirmation of trade actions.

BACKGROUND

An electronic trading system generally includes a trading device incommunication with an electronic exchange. The electronic exchangeprovides market data to the trading device. Market data includes, forexample, price data, market depth data, last traded quantity data,and/or any data related to a market for a tradeable object. In someelectronic trading systems, the trading device sends trade orders to theelectronic exchange. Upon receiving a trade order, the electronicexchange attempts to match quantity of the trade order with quantity ofone or more contra-side trade orders.

In some electronic trading systems, confirmation of a trade action, suchas sending a trade order to the electronic exchange, is required.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the present disclosure are betterunderstood with regard to the following description, appended claims,and accompanying drawings, where:

FIG. 1 illustrates a block diagram of an electronic trading system inwhich certain embodiments may be employed.

FIG. 2 illustrates a block diagram of an example computing device thatmay be used to implement at least one embodiment.

FIG. 3 is a flowchart representative of an example method illustratingan example timing diagram of initiating, delay period, confirmationperiod and time-out.

FIG. 4 is a timing diagram of initiating, delay period, confirmationperiod and time-out.

FIG. 5 is a flowchart describing an example method for confirming atrade action.

FIGS. 6A and 6B together depict an example of visually changing a cellof an order/fill window.

FIG. 7 illustrates an example of alternating the background color andtext in a trade action cell.

In addition, the drawings are for the purpose of illustrating exampleembodiments, but it is understood that the present disclosure is notlimited to the arrangements and instrumentalities shown in the drawings.

DETAILED DESCRIPTION I. Overview

The disclosed embodiments relate to systems and methods for confirmingtrade actions. In particular, the present embodiments relate to a toolthat enables a market participant to confirm trade actions without theneed for a confirmation window.

The present embodiments may relate to electronic trading. Electronictrading systems typically include an electronic exchange and a tradingdevice. The electronic exchange provides market data to the tradingdevice. The trading device may receive market data from the electronicexchange or even other devices or systems (e.g., a news feed). Thereceived market data is displayed on a trading screen, which is agraphical interface that allows a market participant (e.g., a trader) tointeract with the electronic exchange.

Trading screens allow market participants to initiate one or more tradeactions. As used herein, a trade action may be any action performed onbehalf of a market participant. Trade actions may include those actionswhich expose/remove the market participant to/from risk. As examples,trade actions may include placing, cancelling, or changing a tradeorder, and may also include initiating the execution of an algorithm ona server. However, trade actions may also be actions that do not haveany immediate risk implications. As examples, trade actions may includesending a message to another market participant, establishing aconnection with an electronic exchange, or setting a limit, timer, ordefault. Trade actions may also include deploying an algorithm to aserver.

In general, traders desire to be able to react more quickly than othermarket participants. For example, market participants generally desireto be “first-to-market” (e.g., have orders entered prior to other marketparticipants entering the same or similar orders). It is thereforedesirable to improve the way market data is displayed to the trader andto allow the trader to make fast and accurate order entry. The slightestspeed advantage may give a trader a significant competitive advantage.

A trade action cell is a cell, button, or area on a trading screen thatcorresponds to a particular trade action. In some embodiments, when thetrade action cell is selected, the trading device may perform thecorresponding trade action.

However, even though speed is important, a mistake may be very costly toa market participant, and it is therefore desirable for a marketparticipant to have an ability to confirm trade actions. Some systemsrequire a market participant to confirm trade actions before the systemwill perform the action on behalf of the market participant. Typically,these systems display a separate confirmation window once a trade actionis initiated. Prior to the trade action being performed, the marketparticipant must confirm the trade action using the confirmation window.While this may reduce the chances that a mistake is made, it increasesthe time taken to place an order because the market participant isrequired to move the cursor from the trade action cell to theconfirmation window in an effort to confirm the trade action.

In an embodiment, a trade action cell that is used to initiate a tradeaction is also the trade action cell that is used to confirm the tradeaction. Initiating and/or confirming a trade action may includeselection of a trade action cell. In some embodiments, once a tradeaction has been initiated, a market participant is unable to confirm atrade action using the same trade action cell until a certain period oftime has elapsed. In some embodiments, after the trade action has beeninitiated but before it has been confirmed, the trade action cell thatwas used to initiate the trade action may change visually. Since thesame trade action cell is used for initiation and confirmation, aseparate confirmation is not needed.

Although the following discloses embodiments including, among othercomponents, software executed on hardware, it should be noted that thedisclosed embodiments are merely illustrative and should not beconsidered as limiting. For example, it is contemplated that any or allof these hardware and software components may be embodied exclusively inhardware, exclusively in software, exclusively in firmware, or in anycombination of hardware, software, and/or firmware. Accordingly, thedisclosed embodiments may be implemented in other ways.

II. Brief Description of Certain Embodiments

Certain embodiments provide a method including displaying, by acomputing device, a trading screen, wherein the trading screen is atrading interface that includes a trade action cell corresponding with atrade action. The example method includes receiving, by the computingdevice, an initiation command, wherein the initiation command is aselection of the trade action cell. The example method includesdetermining, by the computing device, that the trade action wasinitiated based on the initiation command. The example method includesreceiving, by the computing device, a confirmation command, wherein theconfirmation command is a selection of the same trade action cell. Theexample method includes executing, by the computing device, the tradeaction based on reception of the confirmation command.

Certain embodiments provide an apparatus including a trading interfaceto display a first display element associated with a trade action and asecond display element associated with a confirmation action, the firstdisplay element and the second display element being selectable by auser. The example apparatus includes a computing device to receive aninitiation command and a confirmation command, wherein the initiationcommand is a selection of the first display element and the confirmationcommand corresponds to a selection of the second display element.

Certain embodiments provide a tangible computer readable storage mediumincluding a set of instructions for execution by a processor, whereinthe set of instructions, when executed, implement a method. The examplemethod includes displaying a trading interface to display a trade actioncell corresponding with a trade action. The example method includesreceiving an initiation command, wherein the initiation command is aselection of the trade action cell. The example method includesdetermining that the trade action was initiated based on the initiationcommand. The example method includes receiving a confirmation command,wherein the confirmation command is a selection of the same trade actioncell. The example method includes executing the trade action based onreception of the confirmation command.

III. Example Electronic Trading System

FIG. 1 illustrates a block diagram of an electronic trading system 100in which certain embodiments may be employed. The system 100 includes atrading device 110, a gateway 120, and an electronic exchange(“exchange”) 130. The trading device 110 is in communication with thegateway 120. The gateway 120 is in communication with the exchange 130.

As used herein, the phrase “in communication with” may include in directcommunication and indirect communication through one or moreintermediary components.

In operation, the trading device 110 may send orders to buy or selltradeable objects at the exchange 130. For example, a user may utilizethe trading device 110 to send the orders. The orders are sent throughthe gateway 120 to the exchange 130. Market data is sent from theexchange 130 through the gateway 120 to the trading device 110. The usermay utilize the trading device 110 to monitor this market data and/orbase a decision to send an order for a tradeable object on the marketdata.

A tradeable object is anything that may be traded with a quantity and/ora price. For example, financial products, including stocks, options,bonds, futures, currency, warrants, funds, derivatives, securities,commodities, swaps, interest rate products, index based products, tradedevents, goods, and collections and/or combinations of these aretradeable objects. A tradeable object may be “real” or “synthetic.” Areal tradeable object includes products that are listed and/oradministered by an exchange. For example, a real tradeable object may bethe underlying stock or an exchange listed spread. A synthetic tradeableobject includes products that are defined by the user. This may includea combination of real or other synthetic products. There may be a realtradeable object that corresponds and/or is similar to a synthetictradeable object.

The trading device 110 may include one or more electronic computingplatforms such as a hand-held device, laptop, desktop computer,workstation with a single or multi-core processor, server with multipleprocessors, and/or cluster of computers. For example, while representedas a single device in FIG. 1 , trading device 110 may include a tradingterminal in communication with a server, where collectively the tradingterminal and the server are the trading device 110. The trading terminalmay provide a trading screen to a user and may communicate commands tothe server for further processing of the user's inputs through thetrading screen, such as placing orders.

The trading device 110 is generally owned, operated, controlled,programmed by, configured by, or otherwise used by a user. As usedherein, the phrase “user” may include, but is not limited to, a human(for example, a trader) or an electronic trading device (for example, analgorithmic trading system). One or more users may be involved in theownership, operation, control, programming, configuration, or other use,for example.

The trading device 110 may include one or more trading applications. Thetrading application(s) may, for example, process market data byarranging and displaying the market data in trading windows. The marketdata may be received from exchange 130, for example. As another example,the market data may be received from a simulation environment thatprovides historical data and/or simulates an exchange but does noteffectuate real-world trades. This processing may be based on userpreferences. The trading application(s) may include an automated tradingtool such as an automated spread trading tool, for example. The one ormore trading applications may be distributed across one or more of thecomputing devices of the trading device 110. For example, certaincomponents of a trading application may be executed on a tradingworkstation and other components of the trading application may beexecuted on a server in communication with the workstation.

The trading device 110 is a computing device. For example, the tradingdevice may include an electronic trading workstation, a portable tradingdevice, an algorithmic trading system such as a “black box” or “greybox” system, an embedded trading system, and/or an automated tradingtool. By way of illustration, the trading device 110 may be a personalcomputer running a copy of X_TRADER®, an electronic trading platformprovided by Trading Technologies International, Inc. of Chicago, Ill. Asanother example, the trading device 110 may be a server device runningan automated trading tool such as AUTOSPREADER® and/or AUTOTRADER™, alsoprovided by Trading Technologies International, Inc.

As another example, the trading device 110 may include a tradingapplication that algorithmically processes market data and includes auser interface for manual placement of orders based on the algorithmicprocessing or to manipulate orders that were placed automatically. Analgorithmic trading application is a trading application that includesan automatically processed algorithm to perform certain actions. Forexample, the trading application includes an automated series ofinstructions to perform defined action(s). The actions may includeprocessing market data in a particular way, placing an order, modifyingan existing order, deleting an order, refraining from placing an order,selecting which tradeable object(s) to act on, determining a price atwhich to place or modify an order, determining a quantity at which toplace or to which to modify an order, determining whether an ordershould be to buy or sell, and delaying action for a period of time, asexamples.

As used herein, an algorithm (also referred to as a trading algorithm)is specified by a definition that includes logic expressions andparameters that describe the algorithm to be used in trading. Logicexpressions specify the relationship between parameters and may generatemore parameters. Parameters may include, for example, inputs into thelogic expressions of the algorithm. The definition of an algorithm maybe, at least in part, specified by the algorithmic trading application.For example, an algorithmic trading application may allow a user to onlyspecify parameters to be used by pre-defined logic expressions. Asanother example, an algorithmic trading application may allow a user tospecify some or all of the logic expressions and some or all of theparameters. A trading algorithm where the logic expressions arespecified by a user is a user-defined trading algorithm.

Trading applications may be stored in a computer readable medium of thetrading device 110. In certain embodiments, one or more components of atrading application may be stored on a trading workstation and othercomponents of the trading application may be stored on a server incommunication with the workstation. In certain embodiments, one or morecomponents of a trading application may be loaded into a computerreadable medium of the trading device 110 from another computer readablemedium. For example, the trading application (or updates to the tradingapplication) may be stored by a manufacturer, developer, or publisher onone or more CDs or DVDs, which are then provided to someone responsiblefor loading the application onto the trading device 110 or to a serverfrom which the trading device 110 retrieves the trading application. Asanother example, the trading device 110 may receive the tradingapplication (or updates to the trading application) from a server, forexample, via the Internet or an internal network. The trading device 110may receive the trading application or updates when requested by thetrading device 110 (“pull distribution”) and/or un-requested by thetrading device 110 (“push distribution”).

The trading device 110 is adapted to send orders for a tradeable object.The orders may be sent in one or more messages or data packets orthrough a shared memory system, for example. The trading device 110 mayalso be adapted to cancel orders, change orders, and/or query anexchange, for example. As another example, the trading device 110 may beadapted to send orders to a simulated exchange in a simulationenvironment which does not effectuate real-world trades.

The orders sent by the trading device 110 may be sent at the request ofa user or automatically. For example, a trader may utilize the tradingdevice 110 to place an order for a particular tradeable object, manuallyproviding one or more parameters for the order, such as an order priceand/or quantity. As another example, an automated trading tool maycalculate one or more parameters for an order and automatically send theorder. In some instances, an automated trading tool may prepare theorder to be sent but not actually send it without confirmation from theuser.

In certain embodiments, the trading device 110 includes a userinterface. The user interface may include one or more display devicesfor presenting a text-based and/or graphical interface of a tradingapplication to a user, for example. For example, the display devices mayinclude computer monitors, hand-held device displays, projectors, and/ortelevisions. The user interface may be used to specify or reviewparameters for an order using a trading application. The user interfacemay include one or more input devices for receiving input, for example.For example, the input devices may include a keyboard, trackball, two orthree-button mouse, and/or touch screen. The user interface may includeother devices for interacting with a user. For example, information maybe audibly provided to a user through a speaker and/or received througha microphone.

In certain embodiments, a trading application includes one or moretrading screens to enable a user to interact with one or more markets.Trading screens may enable users to obtain and view market data, setorder entry parameters, enter and cancel orders, and/or monitorpositions while implementing various trading strategies, for example.For example, a trading application may receive information (such as bidprices, bid quantities, ask prices, ask quantities, prices andquantities for past sales, and/or other market related information) fromexchange 130, some or all of which, in turn, may be displayed with auser interface of trading device 110. Based on the received information,the trading screen may display a range of price levels and correspondingbid and ask quantities for the price levels in regard to tradeableobjects. In order to provide the user with pertinent tradinginformation, the trading screen may display a range of prices (and thecorresponding bid and ask quantities) around the inside market. Theinformation may be continuously or regularly provided to the tradingapplication, which allows the trading application to update the tradingscreen with current market data. A user may use the trading screen toplace buy and sell orders for tradeable objects or to otherwise tradethe tradeable objects based on the displayed information, for example.

Trading screens may display one or more trading tools, which areelectronic tools that allow, assist with, and/or facilitate electronictrading. Exemplary trading tools include but are not limited to charts,trading ladders, order entry tools, automated trading tools, automatedspreading tools, risk management tools, order parameter tools, orderentry systems, market grids, fill windows, and market order windows,combinations thereof, other electronic tools used for trading, preparingto trade, managing trades, or analyzing the market.

In certain embodiments, the orders from the trading device 110 are sentto the exchange 130 through the gateway 120. The trading device 110 maycommunicate with the gateway 120 using a local area network, a wide areanetwork, a wireless network, a virtual private network, a T1 line, a T3line, an integrated services digital network (“ISDN”) line, apoint-of-presence, the Internet, and/or a shared memory system, asexamples.

The gateway 120 is adapted to communicate with the trading device 110and the exchange 130. The gateway 120 facilitates communication betweenthe trading device 110 and the exchange 130. For example, the gateway120 may receive orders from the trading device 110 and transmit theorders to the exchange 130. As another example, the gateway 120 mayreceive market data from the exchange 130 and transmit the market datato the trading device 110.

In certain embodiments, the gateway 120 performs processing on datacommunicated between the trading device 110 and the exchange 130. Forexample, the gateway 120 may process an order received from the tradingdevice 110 into a data format understood by the exchange 130. Similarly,the gateway 120 may transform market data in an exchange-specific formatreceived from the exchange 130 into a format understood by the tradingdevice 110. The processing of the gateway 120 may also include trackingorders from the trading device 110 and updating the status of the ordersbased on fill confirmations received from the exchange 130, as examples.As another example, the gateway 120 may coalesce market data from theexchange 130 and provide it to the trading device 110.

In certain embodiments, the gateway 120 provides services other thanprocessing data communicated between the trading device 110 and theexchange 130. For example, the gateway 120 may provide risk processing.

The gateway 120 may include one or more electronic computing platformssuch as a hand-held device, laptop, desktop computer, workstation with asingle or multi-core processor, server with multiple processors, and/orcluster of computers, as examples.

The gateway 120 may include one or more gateway applications. Thegateway application(s) may, for example, handle order processing andmarket data processing. This processing may be based on userpreferences, for example.

In certain embodiments, the gateway 120 communicates with the exchange130 using a local area network, a wide area network, a virtual privatenetwork, a T1 line, a T3 line, an ISDN line, a point-of-presence, theInternet, and/or a shared memory system, as examples.

The exchange 130 may be owned, operated, controlled, or used by anexchange entity. Example exchange entities include the CME Group, theLondon International Financial Futures and Options Exchange (“LIFFE”),the IntercontinentalExchange (“ICE”), and Eurex. The exchange 130 mayinclude an electronic matching system, such as a computer, server, orother computing device, which is adapted to allow tradeable objects, forexample, offered for trading by the exchange, to be bought and sold. Theexchange 130 may include separate entities, some of which list and/oradminister tradeable objects and others of which receive and matchorders, for example. The exchange 130 may include an electroniccommunication network (“ECN”), for example.

The exchange 130 is adapted to match orders to buy and sell tradeableobjects. The tradeable objects may be listed for trading by the exchange130. The orders may include orders received from the trading device 110,for example. Orders may be received from the trading device 110 throughthe gateway 120, for example. The orders may be received from otherdevices in communication with the exchange 130. For instance, typicallythe exchange 130 will be in communication with a variety of othertrading devices (which may be similar to trading device 110) that alsoprovide orders to be matched.

The exchange 130 is adapted to provide market data. The market data maybe provided in one or more messages or data packets or through a sharedmemory system. The market data may be provided to the trading device110. For example, the market data may be provided to the trading device110 through the gateway 120. The market data may include data thatrepresents the inside market, for example. The inside market is thelowest sell price (also referred to as the “best ask”) and the highestbuy price (also referred to as the “best bid”) at a particular point intime (since the inside market may vary over time). The market data mayalso include market depth. Market depth refers to the quantitiesavailable at the inside market and may also refer to quantitiesavailable at other prices away from the inside market. Thus, the insidemarket may be considered the first level of market depth. One tick awayfrom the inside market may be considered the second level of marketdepth, for example. In certain embodiments, market depth is provided forall price levels. In certain embodiments, market depth is provided forless than all price levels. For example, market depth may be providedonly for the first five price levels on both sides of the inside market.As another example, market depth may be provided for the first ten pricelevels at which quantity is available in the market. The market data mayalso include information such as the last traded price (LTP), the lasttraded quantity (LTQ), and order fill information. There may be gaps inmarket depth. For example, the first three price levels may have marketdepth and the fifth through the eighth price levels may have marketdepth. However, the fourth level may not have any depth (e.g., no ordershave been placed at this price level) at a given point in time. Themarket depth may change.

FIG. 1 illustrates an exemplary system 100. Additional, different, orfewer devices may be provided. For example, in certain embodiments, thesystem 100 includes more than one trading device 110. For example,multiple trading devices similar to the trading device 110, discussedabove, may be in communication with the gateway 120 to send orders tothe exchange 130.

In certain embodiments, the system 100 includes more than one gateway120. For example, multiple gateways similar to the gateway 120,discussed above, may be in communication with the trading device 110 andthe exchange 130. Such an arrangement may be used to provide redundancyshould one gateway 120 fail, for example.

In certain embodiments, the system 100 includes more than one exchange130. For example, the gateway 120 may be in communication with multipleexchanges similar to the exchange 130, discussed above. Such anarrangement may allow the trading device 110 to trade at more than oneexchange through the gateway 120, for example.

In certain embodiments, the system 100 includes more than one exchange130 and more than one gateway 120. For example, multiple gatewayssimilar to the gateway 120, discussed above, may be in communicationwith multiple exchanges similar to the exchange 130, discussed above.Each gateway may be in communication with one or more differentexchanges, for example. Such an arrangement may allow one or moretrading devices 110 to trade at more than one exchange (and/or provideredundant connections to multiple exchanges), for example.

In certain embodiments, the trading device 110 includes one or morecomputing devices or processing components. In other words, thefunctionality of the trading device 110 may be performed by more thanone computing device. For example, one computing device may generateorders to be sent to the exchange 130 while another computing device mayprovide a graphical user interface to a user. In certain embodiments,the gateway 120 includes one or more computing devices or processingcomponents. In other words, the functionality of the gateway 120 may beperformed by more than one computing device. In certain embodiments, theexchange 130 includes one or more computing devices or processingcomponents. In other words, the functionality of the exchange 130 may beperformed by more than one computing device.

In certain embodiments, the gateway 120 is part of the trading device110. For example, the components of the gateway 120 may be part of thesame computing platform as the trading device 110. As another example,the functionality of the gateway 120 may be performed by components ofthe trading device 110. In certain embodiments, the gateway 120 is notpresent. Such an arrangement may occur when the trading device 110 doesnot need to utilize the gateway 120 to communicate with the exchange130, for example. For example, if the trading device 110 has beenadapted to communicate directly with the exchange 130.

In certain embodiments, the gateway 120 is physically located at thesame site as the trading device 110. In certain embodiments, the gateway120 is physically located at the same site as the exchange 130. Incertain embodiments, the trading device 110 is physically located at thesame site as the exchange 130. In certain embodiments, the gateway 120is physically located at a site separate from both the trading device110 and the exchange 130.

In certain embodiments, the system 100 may include other devices thatare specific to the communications architecture such as middleware,firewalls, hubs, switches, routers, exchange-specific communicationequipment, modems, security managers, and/or encryption/decryptiondevices.

IV. Example Computing Device

FIG. 2 illustrates a block diagram of an example computing device 200that may be used to implement the disclosed embodiments. The tradingdevice 110 of FIG. 1 may include one or more computing devices 200, forexample. The gateway 120 of FIG. 1 may include one or more computingdevices 200, for example. The exchange 130 of FIG. 1 may include one ormore computing devices 200, for example.

The computing device 200 includes a processor 202, an interconnectionbus 204, a chipset 206, a memory controller 208, an input/output (I/O)controller 210, a system memory 212, a mass storage memory 214, an I/Obus 216, a network interface 218, a display device 220, an input device222, and an output device 224. The computing device 200 may includeadditional, different, or fewer components. For example, multiple buses,multiple processors, multiple memory devices, multiple networkinterfaces, multiple display devices, multiple input devices, multipleoutput devices, or any combination thereof, may be provided. As anotherexample, the computing device 200 may not include an output device 224separate from the display device 220. As another example, the computingdevice 200 may not include a display device 220. As another example, thecomputing device 200 may not include an input device 222. Instead, forexample, the computing device 200 may be controlled by an external orremote input device via the network interface 218.

The computing device 200 includes a processor 202 coupled to aninterconnection bus 204. The interconnection bus 204 may include acommunication bus, channel, network, circuit, switch, fabric, or othermechanism for communicating data between components in the computingdevice 200. The interconnection bus 204 may be communicatively coupledwith, and transfer data between, any of the components of the computingdevice 200. For example, during an installation process of a tradingapplication, one or more computer-readable instructions that are to beexecuted by the processor 202 may be transferred from the input device222 and/or the network interface 218 to the system memory 212 and/or themass storage memory 214. When the computing device 200 is running orpreparing to run the trading application stored in the system memory 212and/or the mass storage memory 214, the processor 202 may retrieve theinstructions from the system memory 212 and/or the mass storage memory214 via the interconnection bus 204.

The processor 202 may be any suitable processor, processing unit, ormicroprocessor. The processor 202 may include one or more generalprocessors, digital signal processors, application specific integratedcircuits, field programmable gate arrays, analog circuits, digitalcircuits, programmed processors, and/or combinations thereof, forexample. The processor 202 may be a single device or a combination ofdevices, such as one or more devices associated with a network ordistributed processing. Any processing strategy may be used, such asmulti-processing, multi-tasking, parallel processing, and/or remoteprocessing. Processing may be local or remote and may be moved from oneprocessor to another processor. The computing device 200 may be amulti-processor system and, thus, may include one or more additionalprocessors communicatively coupled to the interconnection bus 204.

The processor 202 may be operable to execute logic encoded in one ormore tangible media, such as the system memory 212, the mass storagememory 214, and/or via the network interface 218. As used herein, logicencoded in one or more tangible media includes instructions that areexecutable by the processor 202 or a different processor. The logic maybe stored as part of software, hardware, integrated circuits, firmware,and/or micro-code, for example. The logic may be received from anexternal communication device via a communication network, for example,connected to the Internet. The processor 202 may execute the logic toperform the functions, acts, or tasks illustrated in the figures ordescribed herein.

The processor 202 of FIG. 2 is coupled to the chipset 206, whichincludes the memory controller 208 and the I/O controller 210. As iswell known, a chipset typically provides I/O and memory managementfunctions as well as a plurality of general purpose and/or specialpurpose registers, timers, etc. that are accessible to or used by one ormore processors coupled to the chipset 206. The memory controller 208performs functions that enable the processor 202 (or processors if thereare multiple processors) to access the system memory 212 and the massstorage memory 214.

The system memory 212 may be one or more tangible media, such ascomputer readable storage media, for example. Computer readable storagemedia may include various types of volatile and non-volatile storagemedia, including, for example, random access memory, read-only memory,programmable read-only memory, electrically programmable read-onlymemory, electrically erasable read-only memory, flash memory, anycombination thereof, or any other tangible data storage device. As usedherein, the term non-transitory or tangible computer readable medium isexpressly defined to include any type of computer readable medium and toexclude propagating signals. The mass storage memory 214 may include anydesired type of mass storage device including hard disk drives, opticalmedia, magnetic tape or disk, etc.

The system memory 212 and the mass storage memory 214 may be a singlememory module, for example. The system memory 212 and the mass storagememory 214 may be adjacent to, part of, programmed with, networked with,and/or remote from processor 202, such that the data stored in thesystem memory 212 and the mass storage memory 214 may be retrieved andprocessed by the processor 202, for example. The system memory 212 andthe mass storage memory 214 may store instructions that are executableby the processor 202. The instructions may be executed to perform one ormore of the acts or functions described herein or shown in the figures.

The system memory 212 and/or the mass storage memory 214 may store a setof instructions for execution by a processor. The set of instructions,when executed, may perform certain acts. For example, when executed, theinstructions may display a trading interface to display a trade actioncell corresponding with a trade action, receive an initiation command,wherein the initiation command is a selection of the trade action cell,determine that the trade action was initiated based on the initiationcommand, receive a confirmation command, wherein the confirmationcommand is a selection of the same trade action cell, and execute thetrade action based on reception of the confirmation command. In certainembodiments, the set of instructions may perform additional, different,or fewer acts.

The I/O controller 210 performs functions that enable the processor 202to communicate with the network interface 218, the display device 220,the input device 222, and the output device 224 through an I/O bus 216.While the memory controller 208 and the I/O controller 210 are depictedin FIG. 2 as separate blocks within the chipset 206, the functionsperformed by these blocks may be integrated within a singlesemiconductor circuit or may be implemented using two or more separateintegrated circuits. One or more of the components of the computingdevice 200 may be implemented as a system on a chip (for example, asystem on a chip in an IPHONE™).

The network interface 218 may be a one-way or two-way communicationcoupling. Accordingly, the network interface 218 may communicativelyconnect one, two, or more communication networks or devices. Forexample, the I/O bus 216 may be coupled with a gateway similar togateway 120 of FIG. 1 discussed above via the network interface 218, soone, some, or all of the components of the computing device 200 areaccessible to or may communicate with the gateway. As another example,the network interface 218 may couple the I/O bus 216 with othercommunication networks. The network interface 218 may be, for example,an integrated services digital network (ISDN) card or a modem to providea data communication connection. As another example, network interface218 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN, for example, connected tothe Internet. Wireless links may also be implemented. The networkinterface 218 may send and receive electrical, electromagnetic, oroptical signals that carry analog or digital data streams representingvarious type of information, for example.

The display device 220 may include a visual output device, cathode raytube (CRT) display, electronic display, electronic paper, flat paneldisplay, light-emitting diode (LED) displays, electroluminescent display(ELD), plasma display panels (PDP), liquid crystal display (LCD),thin-film transistor displays (TFT), organic light-emitting diodedisplays (OLED), surface-conduction electron-emitter display (SED),laser television, carbon nanotubes, nanocrystal displays, head-mounteddisplay, projector, three-dimensional display, and/or transparentdisplay device, for example.

The display device 220 is adapted to display a trading screen. Thetrading screen may be similar to the trading screens discussed above,for example. The trading screen may be interactive. An interactivetrading screen may allow, for example, one or more trading actions to beperformed using the trading screen. For example, an interactive tradingscreen may allow one or more order entry parameters to be set and/orsent using one or more order entry actions. The display device 220and/or the input device 222 may be used to interact with the tradingscreen, for example.

The input device 222 may include a keyboard, mouse, microphone,touch-screen, trackball, keypad, joystick, and/or other device forproviding input, for example. The input device 222 may be used, forexample, to provide command selections to processor 202. For example,the input device 222 may be a mouse used to control a cursor displayedon a trading screen. The mouse may include one or more buttons forselection and control, for example.

The output device 224 may include a keyboard, mouse, speakers,touch-screen, trackball, keypad, haptic device or system, joystick,and/or other device for providing output, for example. For example, theoutput device 224 may be used to output one or more signals, such as ahaptic signal or an audio signal, to a user. While the input device 222and output device 224 are depicted in FIG. 2 as separate blocks, thefunctions performed by these blocks may be integrated into a single I/Odevice.

V. Example Trade Confirmation Systems and Methods

FIG. 3 is a flowchart describing an example method to initiate a tradeaction. The example method of FIG. 3 may correspond to a timing diagram,such as the timing diagram of FIG. 4 .

At Block 300, a trade action is initiated when an initiation command isreceived. This may occur through a trade action cell (e.g., a BUY cell,a CANCEL cell, a SELL cell, etc.). In some embodiments, initiatingand/or confirming a trade action may occur automatically (e.g., withoutreceiving a manual selection command from the market participant). Insome embodiments, the trade action initiation command may be initiatedautomatically by a trading algorithm, and may require the marketparticipant to confirm the trade action. For example, the trading device110 may include a trading application that algorithmically processesmarket data and includes a user interface for manual placement of ordersbased on the algorithmic processing or to manipulate orders that wereplaced automatically.

In some embodiments, initiating and/or confirming a trade action mayinclude receiving the selection of a trade action cell. In someembodiments, selecting a trade action cell may include clicking on acell (e.g., one, two, or more clicks on a cell). In some embodiments,selecting a trade action cell may include hovering a cursor over a cellor chart for a certain period of time. In some embodiments, selecting atrade action cell may include receiving a verbal command from a user(e.g., “submit a trade order for tradeable object A at a price of98.7”). The verbal command may be associated with a trade action cell.In some embodiments, when the trade action cell is selected, the tradingdevice 100 may perform the corresponding trade action.

At Block 310, a delay period is initiated. This may occur after a tradeaction has been initiated. As shown in FIG. 4 , the delay period 410begins at time T1 when the trade action is initiated by selecting atrade action cell 401, and continues until the end of the delay period403, which occurs at time T3.

In some embodiments, there is no delay period 410. Instead, aconfirmation period, which is discussed more below, is initiated when atrade action is initiated. For example, the trading applicationproviding the confirmation tool may not provide the option of a delayperiod. In another example, the delay period may be set to zero seconds,which essentially eliminates the delay period.

In some embodiments, the delay period may be for a fixed period of time(e.g., 20 ms, 50 ms, 100 ms, 200 ms, 750 ms, 1 second, 2 seconds, etc.).In some embodiments, the delay period is for a predefined period oftime. The predefined period of time may be set by the trader. Differenttrade actions may have different delay periods. For example, the delayperiod for submission of a trade order may be longer than the delayperiod for cancelling a trade order. In some embodiments, differenttrade parameters may influence the length of the delay period. Forexample, the delay period for submission of a trade order with a highlevel of risk (e.g., a price of 98.8 or a quantity of 100 contracts) maybe longer than the delay period for submission of a trade order with alower level of risk (e.g., a price of 97.7 or a quantity of 50contracts). In some embodiments, the delay period is for a randomlyselected period of time. In some embodiments, the delay period may bejust long enough to force the trader to consider or re-consider thetrade action. For example, the length of the fixed period of time may belong enough to prevent a trader from quickly clicking through theinitiation and confirmation.

In some embodiments, the delay period may be for a period of timerandomly selected, for example, by the trading device 110.

While in the delay period 410, the market participant is unable toconfirm the trade action using the same trade action cell. For example,when the user attempts to make a selection 402 at time T2, the selectiondoes not confirm the trade action. For example, the selection may beignored. In another example, the selection may trigger a message to theuser that indicates that the delay period has not lapsed. In someembodiments, the computing device may change the visual representationof the trade action cell when the trade action is initiated. Forexample, the trade action cell may begin flashing at time T1.

As shown in FIG. 3 , at Block 325, a confirmation period 425 begins.This may occur upon expiration of the delay period 410 (e.g., when thedelay period lapses). For example, the confirmation period 425 may occurat (or shortly after) the end of the delay period 403. As shown in FIG.4 , the confirmation period 425 is representative of the period of timebetween the lapse of the delay period 403 (which occurs at time T3) andthe end of the confirmation period 405 (which occurs at time T5).Similar to the delay period 410, in some embodiments, the confirmationperiod 425 may be for a fixed period of time. In some embodiments, theconfirmation period 425 may be for a predefined period of time. In someembodiments, the confirmation period 425 may be for a period of timerandomly selected by the computing device. In some embodiments, theconfirmation period does not have an end. It continues until the tradeaction is confirmed or the user cancels the trade action.

In some embodiments, during the confirmation period 425, the user mayselect the same trade action cell (that was used to initiate the tradeaction) to confirm the trade action. For example, in some embodiments,the user reselects 404 the trade action cell at time T4. By allowing theuser to reselect the trade action cell to confirm a trade action, theuser is able to save time by not having to relocate the cursor to aseparate confirmation window. Furthermore, by leaving the cursor in thesame point (or at least in the same vicinity) where the trade action wasinitiated, the user saves time by not having to move the cursor back tothe general vicinity where trade actions are initiated once the tradeaction has been confirmed. This may allow the user to make other tradeactions that are similar to the trade action that was confirmed. In somesuch embodiments, the trading device 110 receives the confirmationcommand and then executes the trade action initiated at Block 300, asdescribed earlier with respect to FIG. 1 .

In some embodiments, the user may select a cancel confirmation cellduring the confirmation period 425. In some embodiments, the tradeaction initiated in Block 300 is canceled. As used herein, canceling atrade action may include canceling, clearing, ignoring, or otherwise notperforming the trade action. In some embodiments, a market participantmay select anywhere on the trading interface but outside of the tradeaction cell to cancel the initiated trade action. In some otherembodiments, the user may make no selection during the confirmationperiod 425, thereby canceling the initiated trade action by allowing thetrade action to time-out. In such embodiments where the trade action iscanceled, the trading device 110 communicates no trade actions relatingto the initiated trade action 300 to the gateway 120 or electronicexchange 130.

FIG. 4 illustrates a delay period 410 starting at time T1, when thetrade action was initiated (e.g., a trade action was selected 401), andcontinuing for a predefined period of time until time T3. In someembodiments, if the user attempts to confirm 402 a trade action duringthe delay period (e.g., at time T2), the confirmation command is, forexample, ignored or otherwise not performed. At time T3, a confirmationperiod 425 begins and continues through a predefined period of time. Insome embodiments, if the user makes no confirmation action by predefinedperiod of time T5, the initiated trade action times out. Alternatively,in some embodiments, if the user selects 404 a trade action cell at timeT4, then the confirmation command is acted upon and the initiated tradeaction is executed.

FIG. 5 is a flow chart describing an example method for confirming atrade action. At Block 500, a trade action is initiated. In someembodiments, initiating and/or confirming a trade action may occurautomatically (e.g., without receiving input from the marketparticipant). In some embodiments, the trade action may be initiatedautomatically by a trading algorithm, and may require the marketparticipant to confirm the trade action. For example, the trading device110 may include a trading application that algorithmically processesmarket data and includes a user interface for manual placement of ordersbased on the algorithmic processing or to manipulate orders that wereplaced automatically.

In some embodiments, initiating and/or confirming a trade action mayinclude receiving the selection of a trade action cell by a marketparticipant. In some embodiments, selecting a trade action cell mayinclude clicking on a trade action cell (e.g., one, two, or more clickson a cell). A trade action cell is a cell, button, or area on a tradingscreen that corresponds to a particular trade action. When the tradeaction cell is selected, the trading device 100 may perform thecorresponding trade action.

At Block 510, in some embodiments, after the trade action has beeninitiated, a delay period is initiated. In some embodiments, the tradeaction cell is disabled once the delay period is initiated. In some suchembodiments, the market participant is unable to confirm a trade actionusing the same trade action cell. Disabling the trade action cell mayhelp reduce the possibility that a user will either accidentally orintentionally confirm a trade action. For instance, a market participantmay be in the habit of double clicking a trade action cell. In some suchembodiments, disabling the trade action cell may attempt to force themarket participant to mentally consider the trade action they areconfirming before they actually confirm the trade action. As usedherein, disabling a trade action cell may include not performing theassociated trade action. Some functionality may still exist with adisabled trade action cell. For example, when a disabled trade actioncell is selected, the trading device 110 may display a message to theuser (e.g., “the trade action cannot be confirmed until the end of thedelay period” or some other relevant message).

In some embodiments, initiating the delay period may visually change thetrade action cell. The visual change may draw attention to the tradeaction cell that was initiated. In some such embodiments, the visualchange may include visually changing the background color of the tradeaction cell. In some embodiments, the visual change may include visuallychanging the text color of the trade action cell. In some embodiments,the visual change may include visually changing some other visualaspect, including the actual text, formatting, and/or image, of thetrade action cell. In some embodiments, other visual aspects of thetrade action cell which may be visually changed include removingcontents of the trade action cell entirely or filling the trade actioncell with a solid color. In some embodiments, the visual change mayinclude a combination of these embodiments.

In some embodiments, the visual change to the trade action cell mayoccur once. In some embodiments, the visual change to the trade actioncell may repeatedly occur. In some such embodiments, the backgroundcolor or text color of the trade action cell may begin to flash or blinkonce the delay period has been initiated.

FIG. 6A illustrates an order/fill window 600. The order/fill window 600includes various trade action cells used by market participants toperform trade actions. One of these trade action cells is a cancel cell602. The cancel cell 602 is used to cancel working trade orders. Aworking trade order is a trade order that has already been submitted toan electronic exchange. For example, a market participant may submit atrade order to buy tradeable object A at a price of 97.8. The exchangemay receive this trade order, for example, which may have been sent inan order message, and begin to attempt to match this trade order againstcontra-side trade orders (e.g., an order to sell tradeable object A at aprice of 97.8). The trade order to buy tradeable object A is considereda working order until it has been matched by the exchange. In someinstances, a market participant may desire to cancel working orders forone or more reasons.

In some embodiments, for example, as shown in FIG. 6A, since the orderto buy 5 contracts of the ES is selected (e.g., check mark in the box),selecting the cancel cell 602 will cancel this working order. In someembodiments, the market participant decides to select the cancel cell602 (e.g., by clicking on the cancel cell 602 of FIG. 6A) to cancel thisworking order. In this example, the trade action is sending a tradeorder cancelling the working order. In this example, the trade actioncell is the cancel cell 604. Selecting the cancel cell 604 will initiatethe trade action.

As shown in FIG. 6B, once the cancel cell 604 is selected, the cancelcell 604 may begin to flash (e.g., shown by the slanted lines insidecell 604) to indicate that the delay period (or the confirmation period)has begun. In some embodiments, the flashing cancel cell 604 maycontinue to occur until the trade action is confirmed or times out.

While FIGS. 6A and 6B illustrate confirmation in an order/fill window600, this confirmation technique may be used in other trading screens.For example, the confirmation technique may be used with a trading toolsuch as an order entry ladder (e.g., provided by MD TRADER®). In someembodiments, in addition to visually changing the cell, the position ofthe trade action cell may also be locked, such as, for example, atrading interface where the trade action cell may move around (e.g., MDTRADER®). This may prevent the market participant from selecting anothertrade action cell when they are trying to confirm a trade action.

FIG. 7 illustrates an embodiment in which both the background color andthe actual text of the trade action cell may visually change. Forexample, one trade action cell that may be used during operation is abuy cell 702. Once the user selects the buy cell 702, the trade actioncell changes to a seemingly different trade action cell, apply cell 704,where the text in the trade action cell changed from “BUY” to read“APPLY” and the background of the trade action cell also changed, asindicated by the diagonal lines.

Returning to the flow chart in FIG. 5 , once initiated at Block 510, adelay period may execute for a defined period of time (e.g., 20 ms, 50ms, 100 ms, 200 ms, 750 ms, 1 second, 2 seconds, etc.). In someembodiments, the delay period is for a predefined period of time. Insome embodiments, different trade actions may have different predefineddelay periods. In some embodiments, different trade parameters mayinfluence the length of the delay period. In some embodiments, the delayperiod is for a randomly selected period of time. In some embodiments,the delay period is as short as possible, while preventing accidental orhabitual confirmation.

At Block 520, a determination is made as to whether the delay period hasexpired (e.g., counter ticking down, timer expiring, polling to detectan end condition, etc.). If the delay period has not expired, the methodreturns to Block 520. At Block 525, in some embodiments, if the delayperiod has elapsed, a confirmation period is initiated. Initiating theconfirmation period enables for selection the trade action cell that wasdisabled during the delay period. In some embodiments, specific visualchanges from the delay period may continue during the confirmationperiod and other visual changes may stop. In some embodiments, forexample, the flashing trade action cell 604 of FIG. 6B may stopflashing. In some embodiments, some other visual changes to the tradeaction cell during the confirmation period may indicate to the user thatthe trade action cell is capable of being selected. In some embodiments,the visual changes that occurred at Block 510 continue during theconfirmation period.

At Block 535, in some embodiments, a determination is made as to whetherthe user confirms the initiated trade action. In some embodiments,confirming the trade action may be done by selecting the same tradeaction cell that was used to initiate the trade action. At Block 540, insome such embodiments, once the confirmation command is received, theinitiated trade is then executed. Executing the trade action is thendone in the same way as was described earlier in connection with FIG. 1.

In some embodiments, the user may not confirm the trade action. In somesuch embodiments, a determination is made, at Block 550, as to whetherthe user has cleared the initiated trade action. In some embodiments,the user may clear the trade action by selecting a different cell tocancel confirmation. In some embodiments, the market participant mayclear the initiated trade action by clicking outside of the trade actioncell that was used to initiate the trade action. At Block 560, in someembodiments, the trade action times out when the user has chosen toclear the initiated trade action.

In some embodiments, the user may not choose to actively cancel theinitiated trade action. For example, the user may make no selection. AtBlock 555, in some embodiments, a determination is made as to whetherthe confirmation period is over. In some embodiments, when theconfirmation period has not elapsed, the method returns to Block 535.

In some embodiments, a determination is made as to whether theconfirmation period has expired and the trade action was not confirmed.In some such embodiments, the trade action may then time out at Block560. For example, if a market participant initiates a trade action(e.g., to buy a tradeable object at a certain price) and the tradeaction was not confirmed for a certain period of time, then the tradeaction is not performed. When an initiated trade action is cleared ortimes out, the trade action is not sent to an exchange.

In view of the foregoing, it should be apparent that the disclosedexample systems, methods and apparatus may be used to provide animproved electronic trading environment. Example systems, methods, andapparatus confirm a trade action using the same trade action cell thatwas used to initiate the trade action, thereby reducing time spent bythe market participant to relocate the cursor for confirming a tradeaction.

Various inventions have been described in sufficient detail with acertain degree of particularity. It is understood to those skilled inthe art that the present disclosure of embodiments has been made by wayof examples only, and that numerous changes in the arrangement andcombination of parts may be made without departing from the spirit andscope of the present disclosure as claimed. While the embodimentsdiscussed herein may appear to include some limitations as to thepresentation of the information units, in terms of the format andarrangement, those skilled in the art will appreciate that theembodiments have applicability well beyond the disclosed examples.Accordingly, the scope of the present disclosure is defined by theappended claims rather than the forgoing description of embodiments.

We claim:
 1. A system comprising: a trading device, wherein the tradingdevice is configured to receive an initiation command through aselection of a trade action cell of a graphical user interface, whereinthe trade action cell is a graphical element on the graphical userinterface that is selectable by a user, and wherein the trade actioncell is associated with a trade action including a trade parameter;wherein the trading device is configured to determine, in response toreceiving the initiation command, a delay period, wherein the delayperiod is based on the trade parameter of the trade action, and whereinthe delay period begins when the initiation command is received; whereinthe trading device is configured to change a visual representation ofthe trade action cell after the initiation command is received andbefore a confirmation command is received; and wherein the tradingdevice is configured to ignore any attempted confirmation command, andwherein the attempted confirmation command is received through aselection of the trade action cell during the delay period; wherein thetrading device is configured to receive the confirmation command througha selection of the trade action cell after the delay period; and whereinthe trading device is configured to execute, in response to receivingthe confirmation command, the trade action.
 2. The system of claim 1,wherein the visual representation of the trade action cell is changedfor a duration of the delay period.
 3. The system of claim 2, whereinthe trading device is further configured to change the visualrepresentation of the trade action cell after the delay period andbefore the confirmation command is received.
 4. The system of claim 1,wherein the visual representation of the trade action cell is changedwhen the initiation command is received.
 5. The system of claim 1,wherein the visual representation of the trade action cell is changeduntil the confirmation command is received.
 6. The system of claim 1,wherein the visual representation of the trade action cell is changedafter the delay period.
 7. The system of claim 1, wherein the tradeparameter is a quantity associated with the trade action.
 8. The systemof claim 1, wherein the trade parameter is a price associated with thetrade action.
 9. The system of claim 1, wherein the trade parameter is aside associated with the trade action.